// 1. {{}}  替换 replace  占位符
// 2. {{name}}  person.name
let template = '我是{{name}},年龄{{age}},性别{{sex}}';
let person = {
    name:'wsq',
    age:18,
    sex:'女'
}
// 写一个 render 函数，完成字符串模板的嵌入值
/**
 * @func 字符串模板将所有{{}} 占位符替换成数据
 * @param {string} template 
 * @param {object} data 
 * @return {string}
 */
function render (template,data){
    // \w [a-z]   \d [0-9]  
    const reg =/\{\{(\w+)\}\}/;
    // console.log(Object.prototype.toString.call(reg));   [object RegExp]
    // console.log(template.match(reg));
    if(reg.test(template)) {  // 有占位符没有被替换
        const name = reg.exec(template)[1];
        // console.log(name);
        template = template.replace(reg,person[name]);
        // console.log(template);
        return render(template,data);
    }
    return template;
}

console.log(render(template,person));